/*
 * ECP菜单
 * */
$(function () {
	var scale = 1; //默认屏幕比例为1
	function resize() { //以1920分辨率为基准，自动缩放页面自适应屏幕分辨率，100%缩放比例
		if (top.location == self.location && window.screen.width <= 1920) { //当前窗口时顶级窗口（防止tab打开框架#路径），仅对1920及以下分辨率屏幕生效
			scale = window.screen.width / 1920;
			document.body.style.transformOrigin = '0 0';
			document.body.style.transform = 'scale(' + scale + ',' + scale + ')';
			document.body.style.width = window.innerWidth / scale + 'px';
			document.body.style.height = window.innerHeight / scale + 'px';
		}
	}
	// window.onresize = function () {//监听屏幕的改变
	// 	resize();
	// };
	// resize();//系统首页第一次加载即执行
	if (window.history && window.history.pushState) { //屏蔽IE浏览器的回退键
		$(window).on('popstate', function () {
			window.history.pushState('forward', null, null);
			window.history.forward(1);
		});
	}
	$(".layui-nav").find(".parent_menu").remove();
	var headerMenuHtml = '',
		headerMobileMenuHtml = '',
		leftMenuHtml = '',
		headerMenuCheckDefault = 'layui-this';
	leftMenuCheckDefault = 'style="background: none;"';
	$.ajaxSettings.async = false;
	$.post("system/menu/listtreejson", {
		'menustate': 0
	}, function (data) {
        $.ajaxSettings.async = true;
		$.each(data, function (key, val) {
			var parent_menu_layhref = "";
			if (val.href != '#') parent_menu_layhref = '" lay-href="' + val.href + '" lay-text="' + val.title + '"';
			headerMenuHtml += '<li class="layui-nav-item parent_menu ' + headerMenuCheckDefault + '" mid="' + val.id + '"' + parent_menu_layhref + '> <a href="javascript:;" title="' + val.title + '"><i class="' + val.menuIcon + '"><span>' + val.title + '</span></i></a></li>\n';
			headerMobileMenuHtml += '<dd><a href="javascript:;" id="' + key + 'HeaderId" data-menu="' + key + '"><i class="' + val.icon + '"></i> ' + val.title + '</a></dd>\n';
			var menuList = val.children;
			moduleList = moduleList.concat(val.children); //记录所有功能
			$.each(menuList, function (index, menu) {
				leftMenuHtml += '<li data-name="' + menu.title + '" class="layui-nav-item" mpid="' + val.id + '" ' + leftMenuCheckDefault + '>\n';
				if (menu.children != undefined && menu.children != []) {
					// leftMenuHtml += '<a href="javascript:;" lay-tips="' + menu.title + '" > <i class="layui-icon layui-icon-home"></i> <cite>' + menu.title + '</cite><span class="layui-nav-more"></span></a> ';
					leftMenuHtml += '<a href="javascript:;" lay-tips="' + menu.title + '" > <i class="layui-icon layui-icon-right"></i><i class="' + menu.menuIcon + '"></i> <cite>' + menu.title + '</cite><span class="layui-nav-more"></span></a> ';
					if (menu.children.length > 1) {
						leftMenuHtml += '<dl class="layui-nav-child">\n';
					} else {
						leftMenuHtml += '<dl class="layui-nav-child" style="width:200px;min-width:200px">\n';
					}
					$.each(menu.children, function (childIndex, childMenu) {
						var w100 = '';
						if (childMenu.hrefadd == "#") w100 = 'style="width:165px;"'
						if (childMenu.href != "#" || childMenu.hrefadd != "#") {
							leftMenuHtml += '<dd><span class="' + (childMenu.menuIcon ? childMenu.menuIcon : 'dhicon dh-search') + '" lay-href="' + childMenu.href + '"  lay-text="' + childMenu.title + ' - 查询" class="f_l mcList" ' + w100 + ' title="查询-' + childMenu.title + '">' + childMenu.title + '</span>';
						} else {
							leftMenuHtml += '<dd><span class="' + childMenu.menuIcon + '" lay-href="' + childMenu.href + '" class="f_l mcList" ' + w100 + '>' + childMenu.title + '</span>';
						}
						// if(childMenu.href != "#")leftMenuHtml += '<span class="f_r m_l_5 fz_13" lay-href="' + childMenu.href + '"  lay-text="' + childMenu.title + ' - 查询">查询</span>';
						if (childMenu.hrefadd != "#") leftMenuHtml += '<span class="f_r fz_12 mcAdd" lay-href="' + childMenu.hrefadd + '"  lay-text="' + childMenu.title + ' - 新增" title="新增-' + childMenu.title + '" style="position: absolute;right: 0;top: 0"><i class="dhicon dh-plus"></i></span>';
						leftMenuHtml += '</dd>';
					})
				} else {
					leftMenuHtml += '<a lay-href="' + menu.href + '" ><i class="' + menu.icon + '"></i><span class="layui-left-nav"> ' + menu.title + '</span></a>\n';
				}
				leftMenuHtml += '</dl>\n<hr style="margin: 0;padding:0;transform: scaleY(.5);background-color: rgba(230,230,230,0.8)"/>';
				leftMenuHtml += '</li>\n';
			});
			headerMenuCheckDefault = '';
			leftMenuCheckDefault = 'style="display:none;background: none;"';
		});
		$('.layui-header-menu').find(".layadmin-flexible").after(headerMenuHtml); //电脑
		// $('.layui-header-mini-menu').html(headerMobileMenuHtml); //手机
		$('.layui-left-menu-tree').html(leftMenuHtml);
		// $('.layui-left-menu-tree li').last().after(leftMenuHtml);
		moduleSearch(); //初始化框架搜索功能内容
		var ltsi = setInterval(function () { //使用间歇定时器防止第一次加载时，主题尚未初始化报错
			if (window.localStorage.getItem('layuiAdmin')) { //当存在主题方案时，替换原本的样式
				var localTheme = JSON.parse(window.localStorage.getItem('layuiAdmin')).theme;
				// $('.layui-layout-admin .layui-header').css('background-image','linear-gradient('+localTheme.color.logo+','+localTheme.color.header+')');//头部渐变
				$('.page-loading span').css('background-color', localTheme.color.logo); //修改加载动画的主题logo颜色
				// $('.layadmin-pagetabs .layui-tab-title li.layui-this').css('background', localTheme.color.logo); //(首页)选中tab标签背景颜色变为主题头部颜色
				// $('.layadmin-pagetabs .layui-tab-title li.layui-this').css('color', 'rgba(0,135,250,1)'); //(首页)选中tab标签字体颜色变为白色
				$(".layui-side-scroll").css('overflow-x', 'unset'); //功能块显示
				$(".layui-side-menu").css('overflow-x', 'unset'); //功能块显示
				// $('.layui-side-menu .layui-nav-item .layui-nav-child dd').css('background',localTheme.color.header);//功能的背景色
				if (localTheme.color.main == 'white') { //当本地主题方案为白色时
					$('.layui-side-menu .layui-nav .layui-nav-item a').css('color', '#333'); //二级功能图标字体
					$('.layui-side-menu .layui-nav .layui-nav-item .layui-icon').css('color', '#333'); //二级功能展开图标
					$('.layui-side-menu .layui-side-scroll > span').css('color', '#333'); //版本号
				}
				clearInterval(ltsi); //执行完毕清除间歇调用计时器
			}
		}, 100);
		$('.layui-header-menu').find(".parent_menu").click(function () { //点击事件——一级菜单切换
			var mid = $(this).attr('mid');
			$('.layui-left-menu-tree li').css('display', 'none');
			$('.layui-left-menu-tree li').each(function (index) {
				if ($(this).attr("mpid") == mid) $(this).css('display', '')
			});
		})
		$(".layui-nav-tree li").hover(function () { //覆盖事件——二级菜单
			// $('.layui-side-menu .layui-nav-item .layui-nav-child dd').css('background',JSON.parse(window.localStorage.getItem('layuiAdmin')).theme.color.header);//实时改变功能的背景色
			$(this).find('.layui-nav-child').css('border-top-color', JSON.parse(window.localStorage.getItem('layuiAdmin')).theme.color.logo); //实时改变功能顶部旗帜颜色
			$(this).css('background', JSON.parse(window.localStorage.getItem('layuiAdmin')).theme.color.header); //实时改变二级菜单覆盖颜色
			$(this).children('a').css('color', '#fff'); //二级菜单图标字体颜色
			$(this).find('.layui-icon').css('color', '#fff'); ///二级菜单展开图标
			$(this).find('dl').show();
			$(this).find('dl').css('left', $(this).width());
			$(this).find('dl').css('top', $(this).offset().top / scale);
			menuOverFlow($(this).find('dl'), scale); //判断溢出屏幕
		}, function () {
			if (JSON.parse(window.localStorage.getItem('layuiAdmin')).theme.color.main == 'white') {
				$(this).children('a').css('color', '#333'); //二级菜单图标字体颜色
				$(this).find('.layui-icon').css('color', '#333'); //二级菜单展开图标
			} else {
				$(this).children('a').css('color', 'rgba(230,230,230,0.8)'); //二级菜单图标字体颜色
				$(this).find('.layui-icon').css('color', 'rgba(230,230,230,0.8)'); //二级菜单展开图标
			}
			$(this).css('background', 'none'); //实时改变二级菜单覆盖颜色
			$(this).find('dl').hide();
		})
		$('.layui-side-menu .layui-nav-item .layui-nav-child dd span').hover(function () { //覆盖事件——功能
			if ($(this).hasClass('mcAdd')) { //判断是否是制单图标
				$(this).css('background', JSON.parse(window.localStorage.getItem('layuiAdmin')).theme.color.header);
				$(this).css('color', '#fff');
			} else {
				$(this).css('color', JSON.parse(window.localStorage.getItem('layuiAdmin')).theme.color.header);
				$(this).css('font-weight', '600'); //字体加粗
			}
		}, function () {
			if ($(this).hasClass('mcAdd')) { //判断是否是制单图标
				$(this).css('background', '');
				$(this).css('color', '');
			} else {
				$(this).css('color', '');
				$(this).css('font-weight', '500'); //常规字体
			}
		})
	});
	layui.use('element', function () {
		element = layui.element;
		var lia = [];
		element.on('tabDelete()', function (data) { //监听选项卡删除
			console.log('delete hide');
			//$('.page-loading').hide(); //删除tab的情况下,屏蔽加载中
			lia = []; //清空新li数组，并重新获取赋值
			$.each(data.elem.find('li'), function (i, v) {
				lia.push($(v).attr('lay-id'));
			})
		})
		element.on('tab()', function (data) { //监听选项卡切换
			// console.log($(this).attr('lay-id'));
			// console.log('tab',this); //当前Tab标题所在的原始DOM元素
			// console.log(data.index); //得到当前Tab的所在下标	
			// console.log(data); //得到当前的Tab大容器
			if ($(this).attr('lay-id') == '#') {
				top.layui.admin.closeThisTabs(); //关闭#路径tab页
				layer.msg('该功能尚未配置路径！', {
					icon: 2,
					offset: '10%',
					anim: 6
				});
			} else {
				var tIframe = $($('#LAY_app_body .layadmin-tabsbody-item')[data.index]).find('iframe')[0]; //当前tab选项卡的iframe
				if ($.inArray($(this).attr('lay-id'), lia) == -1) { //不在原有li数组中——新增
					lia = []; //清空新li数组，并重新获取赋值
					$.each(data.elem.find('li'), function (i, v) {
						lia.push($(v).attr('lay-id'));
					})
					/*
					$(tIframe.contentWindow).unload(function () { //当页面卸载（关闭）或刷新时
						console.log('unload show');
						$('.page-loading').show();
						$(tIframe.contentWindow).unbind(); //清除事件,防止重复点击该tab赋予相同事件
					});
					*/
				}
				tIframe.onload = function () { //当页面加载完毕时
					/*
					this.contentWindow.onbeforeunload = function (event) { //当页面卸载（关闭）或刷新之前（iframe内的window）
						console.log('onbeforeunload show');
						$('.page-loading').show();
					};
					*/
				}
				$('.layadmin-pagetabs .layui-tab-title li').css({'background':'#FFFFFF','color':'#000','border':'0'});//重置标签页
				$('.layadmin-pagetabs .layui-tab-title li.layui-this').css({'background':JSON.parse(window.localStorage.getItem('layuiAdmin')).theme.color.header,'color':"#FFF",'border':'1px solid','border-color':JSON.parse(window.localStorage.getItem('layuiAdmin')).theme.color.header});//选中tab标签背景颜色变为主题颜
				$('.layadmin-pagetabs .layui-tab-title li').unbind(); //清除之前赋予的事件——hover、click
				$('.layadmin-pagetabs .layui-tab-title li').hover(function () { //监听鼠标覆盖——tab标签
					$(this).css('background', JSON.parse(window.localStorage.getItem('layuiAdmin')).theme.color.header);
					$(this).css('color', "#FFF");
				}, function () {
					$(this).css('background', '#FFFFFF');
					$(this).css('color', '#000');
					$('.layadmin-pagetabs .layui-tab-title li.layui-this').css({'background':JSON.parse(window.localStorage.getItem('layuiAdmin')).theme.color.header,'color':"#FFF",'border':'1px solid','border-color':JSON.parse(window.localStorage.getItem('layuiAdmin')).theme.color.header});//再次渲染，防止鼠标放在当前tab页
				})
				$('.layadmin-pagetabs .layui-tab-title li').click(function () { //监听鼠标点击——tab标签
					$('.layadmin-pagetabs .layui-tab-title li').removeClass('layui-this'); //清除tab标签所有layui-this
					$(this).addClass('layui-this'); //为当前tab标签添加layui-this
					$('.layadmin-pagetabs .layui-tab-title li').css({'background':'#FFFFFF','color':'#000','border':'0'});//重置标签页
					$('.layadmin-pagetabs .layui-tab-title li.layui-this').css({'background':JSON.parse(window.localStorage.getItem('layuiAdmin')).theme.color.header,'color':"#FFF",'border':'1px solid','border-color':JSON.parse(window.localStorage.getItem('layuiAdmin')).theme.color.header});//选中tab标签背景颜色变为主题颜色
					// $('.layadmin-pagetabs .layui-tab-title li.layui-this').css({'background':JSON.parse(window.localStorage.getItem('layuiAdmin')).theme.color.logo,'color':'rgba(0,135,250,1)'});
				})
			}
		});
	});
})